<?php 
require_once BASE_PATH.'application/models/basedao'.EXT;

class UsuarioDAO extends baseDAO {
	
    var $table = 'usuarios';
    var $id    = 'usuario_k';

    function __construct()
    {
        // Call the Model constructor
        parent::__construct();
        $this->load->model('usuarioprovedordao');
        $this->load->model('sesiondao');
    }
    
    
    function getTotalBoletin()
    {
	$data = array(
			"where" => array(
					"boletin" => 1	
					)
		      );
	return count($this->_select($data));
    }
    
    
    function setBoletin($boletin,$email)
    {
    	$this->update(
		      array("boletin"=>$boletin),
		      array("email"=>$email)
		      );	
    }
    
    
    function setPaisIso($pais,$id)
    {
	if(empty($id))
	$id = $this->sesiondao->getUsuarioK();
	
    }
    
    function setRol($rol_k='',$id='')
    {
    	$data = array(
    		"rol_k"=>$rol_k
    	);

	if(empty($id))
	$id = $this->sesiondao->getUsuarioK();
    	
    	$this->update($data,$id);
    }

    
    function setPuntos($puntos='',$id='')
    {
    	$data = array(
    		"puntos"=>puntos
    	);
    	
	if(empty($id))
	$id = $this->sesiondao->getUsuarioK();
	
    	$this->update($data,$id);
    }   

    
    function getPuntos($usuario_k='')
    {
    	$result = 0;
	$query = $this->findById($usuario_k);
	
	if(!empty($query))
	$result = $query->puntos;
	
	return $result;
    }
    
    
    function getProvedor($id='',$provedor='')
    {
    	
    	$result = $this->sesiondao->getProvedor();
    	
    	if(!empty($id) || !empty($provedor))
	    	$result = $this->usuarioprovedordao->getProvedor($id,$provedor);
    	
    	
    	return $result;
    }
    
    
    function _getProvedor()
    {
	return $this->sesiondao->getProvedor();
    }
    
    
    function isLogin()
    {
    	return $this->sesiondao->isLogin();
    }
    
    
    function getId($data=array())
    {
	$id = $this->sesiondao->getUsuarioK();
	
	if($id===0)
		$id = $this->_getId($data);
		
	return $id;	
    }
    
    
    function findById($id='')
    {
	if(empty($id))
	 $id = $this->sesiondao->getUsuarioK();
	 
	 return $this->_findById($id);
    }
    
 
    function getRolK($usuario_k='')
    {
    	$result = 0;
	
	$query = $this->findById($usuario_k);
	
	if(!empty($query))
	$result = $query->rol_k;
	
	return $result;

    }
    
    
    function getAvatar()
    {

    	return $this->sesiondao->getAvatar();  	
    }
    
    
    
    function getNombre($usuario_k='')
    {
    	
    	$result = $this->sesiondao->getNombre();
    	
    	if(!empty($usuario_k))
    	{
		$result = $this->findById($usuario_k);
    		$result = $result->nombre." ".$result->apellidos;
    	}


    	return $result;   	    	
    }
    
    
    
    
    function getIp()
    {
    	return $this->sesiondao->getIp();
    }
    
    
    function findByEmail($email='')
    {

        return $this->select(array("email" => $email));	    	
    }
    
   
    
	
}
?>